package com.cobra.rdd.operator.transform

import org.apache.spark.{SparkConf, SparkContext}

//分区不变原理
object Spark14_RDD_Operator_Transform_Sample {
  def main(args: Array[String]): Unit = {
    val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Spark14_RDD_Operator_Transform_Sample")
    val sc = new SparkContext(sparkConf)
    //算子获取
    val rdd = sc.makeRDD(List(1,2,3,4,5,6,7,8,9,10))
    //1.第一个参数表示是否将数据放回如果是true则放回，否则丢弃
    //2.第二个参数表示
    //  如果抽取不放回的场合，数据源中每个数据被抽取的概率
    //    如果抽取放回的场合，表示数据源中每条数据被抽取的可能次数
    //3. 第三个参数表示，抽取数据时随机算法的种子
    //            如果不传递第三个参数，那么使用的是系统时间，如果传递了seed，每次随机出现的值都是相同的
   println( rdd.sample(false,0.4,1).collect().mkString(","))
    sc.stop()
  }
}
